A key-value (KV) store or database is the simplest type of non-relational databases. As its name implies, a key-value store uses unique keys to find associated values. These unique keys and values are stored as key-value pairs. For a large KV store, an on-disk storage data structure that supports efficient create, read (lookup), update, delete, and range scans operations, such as a B-tree, is typically used to store the key-value pairs.
Various data storage systems have been developed to manage operations on such on-disk data structure so that the operations can be executed with atomicity and durability. One technique to manage operations on an on-disk data structure for KV store is the use of a physical log stored on-disk. In this technique, any change to the on-disk data structure due to an executed operation is recorded in the physical log. However, the use of a physical log requires repeated write operations, which are resource intensive and time consuming. In addition, the technique typically requires complex processes to ensure atomicity and durability.
Throughout the description, similar reference numbers may be used to identify similar elements.